/***************************************************************
 * Name:      DFRawParserMain.h
 * Purpose:   Defines Application Frame
 * Author:    Timothy Sassone (timothy.s.dev@gmail.com)
 * Created:   2010-03-09
 * Copyright: Timothy Sassone (timothy-s-dev.50webs.com)
 * License:
 **************************************************************/

#ifndef DFRAWPARSERMAIN_H
#define DFRAWPARSERMAIN_H

//(*Headers(DFRawParserFrame)
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/menu.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/listbox.h>
#include <wx/statline.h>
#include <wx/panel.h>
#include <wx/filedlg.h>
#include <wx/button.h>
#include <wx/frame.h>
#include <wx/gauge.h>
#include <wx/statusbr.h>
//*)

class DFRawParserFrame: public wxFrame
{
    public:

        DFRawParserFrame(wxWindow* parent,wxWindowID id = -1);
        virtual ~DFRawParserFrame();

    private:

        //(*Handlers(DFRawParserFrame)
        void OnQuit(wxCommandEvent& event);
        void OnAbout(wxCommandEvent& event);
        void On_CloseButton_Click(wxCommandEvent& event);
        void OnNew(wxCommandEvent& event);
        void OnSave(wxCommandEvent& event);
        void OnLoad(wxCommandEvent& event);
        void AddTag(wxCommandEvent& event);
        void RenameTag(wxCommandEvent& event);
        void SelectTag(wxCommandEvent& event);
        void AddArgument(wxCommandEvent& event);
        void AddChild(wxCommandEvent& event);
        void RenameArgument(wxCommandEvent& event);
        void RenaneChild(wxCommandEvent& event);
        void ParseFile(wxCommandEvent& event);
        void DeleteTag(wxCommandEvent& event);
        void DeleteArgument(wxCommandEvent& event);
        void DeleteChild(wxCommandEvent& event);
        void DisplayHelp(wxCommandEvent& event);
        void copyAllTagNames(wxCommandEvent& event);
        void ParseFileToRaw(wxCommandEvent& event);
        //*)

        //(*Identifiers(DFRawParserFrame)
        static const long ID_LABEL_HELLO;
        static const long ID_LISTBOX_TAGS;
        static const long ID_TEXTCTRL_TAG;
        static const long ID_BUTTON_TAG;
        static const long ID_BUTTON_DELTAG;
        static const long ID_PANEL3;
        static const long ID_STATICLINE1;
        static const long ID_STATICTEXT_ARGUMENTS;
        static const long ID_LISTBOX_ARGUMENTS;
        static const long ID_TEXTCTRL_ARGUMENT;
        static const long ID_BUTTON_ARGUMENT;
        static const long ID_BUTTON_DELARG;
        static const long ID_PANEL2;
        static const long ID_STATICTEXT_CHILDREN;
        static const long ID_LISTBOX_CHILDREN;
        static const long ID_TEXTCTRL_CHILD;
        static const long ID_BUTTON_CHILD;
        static const long ID_BUTTON_COPYALL;
        static const long ID_BUTTON_DELCHILD;
        static const long ID_PANEL1;
        static const long ID_STATICLINE3;
        static const long ID_BUTTON_PARSETOXML;
        static const long ID_BUTTON_PARSETORAW;
        static const long ID_GAUGE_PARSE;
        static const long ID_CHECKBOX_XMLNAMES;
        static const long ID_CHECKBOX_RAWNAMES;
        static const long ID_PANEL4;
        static const long idMenuNew;
        static const long idMenuSave;
        static const long idMenuLoad;
        static const long idMenuQuit;
        static const long idMenuHelp;
        static const long idMenuAbout;
        static const long ID_STATUSBAR1;
        //*)

        //(*Declarations(DFRawParserFrame)
        wxStaticText* label_tags;
        wxFileDialog* FileDialog_OpenTagList;
        wxButton* Button_ParseToRAW;
        wxTextCtrl* TextCtrl_Child;
        wxCheckBox* CheckBox_XMLNames;
        wxPanel* Panel4;
        wxTextCtrl* TextCtrl_Tag;
        wxButton* Button_DelArg;
        wxMenuItem* MenuItem1;
        wxListBox* ListBox_Children;
        wxButton* Button_DelChild;
        wxMenuItem* MenuItem_Save;
        wxGauge* Gauge_Parse;
        wxPanel* Panel1;
        wxListBox* ListBox_Tags;
        wxButton* Button_Argument;
        wxStaticText* StaticText_Arguments;
        wxButton* Button_Tag;
        wxPanel* Panel3;
        wxButton* Button_ParseToXML;
        wxMenuItem* MenuItem_New;
        wxFileDialog* FileDialog_ParseToRaw;
        wxStaticLine* StaticLine3;
        wxStaticLine* StaticLine1;
        wxTextCtrl* TextCtrl_Argument;
        wxFileDialog* FileDialog_Parse;
        wxFileDialog* FileDialog_SaveTagList;
        wxPanel* Panel2;
        wxButton* Button_DelTag;
        wxStaticText* StaticText_Children;
        wxButton* ButtonCopyAll;
        wxStatusBar* StatusBar;
        wxButton* Button_Child;
        wxCheckBox* CheckBox_RAWNames;
        wxListBox* ListBox_Arguments;
        //*)

        DECLARE_EVENT_TABLE()
};

#endif // DFRAWPARSERMAIN_H
